ClusterShell est une bibliothèque événementielle en Python qui permet d'exécuter en parallèle des commandes en local et à distance sur des noeuds d'un cluster, ferme de serveurs, stations de travail... Elle fournit également un ensemble de scripts utilitaires basés dessus (voir plus bas).
ClusterShell est développée et utilisée au CEA par les équipes système de plusieurs grands clusters Linux de stockage et de calcul (qui comptent parmi les plus puissants du monde -- dont Tera100), elle est disponible sous licence CeCILL-C (CEA - CNRS - INRIA Logiciel Libre, compatible LGPLv2+).
Sortie de Plone 4
Plone, le célèbre CMS en Python, est sorti ce 1er septembre 2010 en version 4.
Ce projet, distribué dans plus de 40 langues, existe depuis près de neuf ans. Très active, avec pas moins de 340 core-développeurs, cette nouvelle version est là pour préparer la version 5. Toutefois, ce n'est pas une version mineure, loin de là. Les évolutions sont notables, les développements ayant porté notamment sur la performance, l’ergonomie et la facilité d’installation.
Ce projet, distribué dans plus de 40 langues, existe depuis près de neuf ans. Très active, avec pas moins de 340 core-développeurs, cette nouvelle version est là pour préparer la version 5. Toutefois, ce n'est pas une version mineure, loin de là. Les évolutions sont notables, les développements ayant porté notamment sur la performance, l’ergonomie et la facilité d’installation.
OpenERP, nouvelle direction pour le logiciel de gestion
Une toute nouvelle mouture du site web d'OpenERP vient de sortir. L'objectif est de mettre plus l'accent sur les fonctionnalités du produit, la nouvelle documentation et les outils communautaires. Jusqu'à présent, la communauté OpenERP était principalement organisée autour de Launchpad, la plateforme de développement collaborative de Canonical, et du forum OpenERP. Le nouveau site est maintenant interfacé avec la page Facebook, le compte Twitter, LinkedIn et Eventbrite.
Revue des livres sur Plone publiés en 2010
Pour bien préparer vos achats de la rentrée, je vous propose une petite revue des nouveaux ouvrages parus sur le CMS Plone depuis le début de l'année :
Le détail en deuxième partie de dépêche.
- Plone 3 Products Development Cookbook
- Plone 3 Multimedia
- Plone 3.3 Sites Administration
- Plone 3 Intranets
Le détail en deuxième partie de dépêche.
Python 2.7
Un peu moins de deux ans après la version 2.6, la fondation Python est heureuse de vous annoncer la publication de la version 2.7. Cette version marque la fin d'une ère, car ça sera la dernière version majeure de la branche Python 2. Justement, Python 2.7 apporte beaucoup de nouveautés qui viennent de Python 3.1 (listées en seconde partie de la dépêche) dans le but de simplifier la migration de Python 2 vers Python 3. La branche 2.7 sera maintenue plus longtemps que les précédentes versions 2.x.
Python est un langage de programmation interprété multi-paradigme. L'interprète standard (CPython) est distribué sous licence PSF (semblable à la licence BSD). CPython est multiplateforme : Windows, Linux, Mac OS X, *BSD, AIX, MS-DOS, OS/2, QNX, etc.
CPython sert de référence pour le langage Python et les autres implémentations : PyPy (écrit en Python), IronPython (plateforme .NET) et Jython (JVM). Ces implémentations ne sont pas aussi à jour que CPython puisque IronPython est compatible avec Python 2.6 tandis que PyPy et Jython sont compatibles 2.5.
Python est un langage de programmation interprété multi-paradigme. L'interprète standard (CPython) est distribué sous licence PSF (semblable à la licence BSD). CPython est multiplateforme : Windows, Linux, Mac OS X, *BSD, AIX, MS-DOS, OS/2, QNX, etc.
CPython sert de référence pour le langage Python et les autres implémentations : PyPy (écrit en Python), IronPython (plateforme .NET) et Jython (JVM). Ces implémentations ne sont pas aussi à jour que CPython puisque IronPython est compatible avec Python 2.6 tandis que PyPy et Jython sont compatibles 2.5.
PyPy 1.3 et newthreading
PyPy 1.3 est sorti ce 26 juin. Pour mémoire, PyPy est une implémentation de Python, réalisée elle-même en Python.
Il y a deux grandes nouveautés pour cette version :
Une autre actualité récente est la sortie de newthreading en tant que proof of concept. CPython utilise un verrou global (GIL) qui limite fortement l'utilisation de plusieurs thread avec Python à cause du partage de ressource. newthreading permet de contourner le GIL pour qu'un objet soit bloqué seulement quand une classe s'exécute à l'intérieur. De plus, les objets synchronisés sont accessibles par plusieurs thread séquentiellement.
Les auteurs se sont notamment inspirés du monde Java et espèrent permettre ainsi des restrictions moins fortes pour pouvoir se débarrasser du GIL.
Il y a deux grandes nouveautés pour cette version :
- Une amélioration du compilateur JIT, beaucoup de bogues ont été corrigés et la vitesse d'exécution a été augmentée ;
- Gestion des extensions écrites en C pour l'interpréteur CPython introduite en version alpha. Pour l'utiliser, il suffit d'activer ce support via import cpyext et de recompiler, PyPy n'étant pas binairement compatible avec CPython, avec pypy setup.py build.
Une autre actualité récente est la sortie de newthreading en tant que proof of concept. CPython utilise un verrou global (GIL) qui limite fortement l'utilisation de plusieurs thread avec Python à cause du partage de ressource. newthreading permet de contourner le GIL pour qu'un objet soit bloqué seulement quand une classe s'exécute à l'intérieur. De plus, les objets synchronisés sont accessibles par plusieurs thread séquentiellement.
Les auteurs se sont notamment inspirés du monde Java et espèrent permettre ainsi des restrictions moins fortes pour pouvoir se débarrasser du GIL.
PyCon FR se déroulera les 28 et 29 août 2010 à Paris | La Cyberbase de la Villette
PyCon Fr 2010 est le rendez-vous annuel des utilisateurs de Python organisé par l'Association Francophone Python. Rejoignez les utilisateurs et les passionnés de Python à la Cyberbase de la Villette à Paris les 28 et 29 août 2010. Des dizaines de présentations et tutoriels auront lieu tout au long du week-end et couvriront des sujets abordables par des débutants ou destinés à des experts. L'intégralité de l'évènement est gratuit et ne nécessite pas d'inscription ! Cependant, vous pouvez d'ores et déjà visiter les sessions approuvées par le comité d'organisation et confirmer votre présence (nécessite un compte).
Pour que PyCon France rencontre le même succès que les années précédentes, il faut trois ingrédients : des orateurs, des sponsors et un public :-)
Appel à orateurs
Vous souhaitez transmettre vos connaissances ou partager votre expérience ? Vous avez six possibilités :
Vous souhaitez faire une présentation pour l'édition 2010 ?
Enregistrez-vous puis proposez une session avant le 15 juillet 2010 à minuit. Pour cela, il vous suffit de cliquer le bouton "Soumettre une présentation" sur le menu de gauche. Ou bien, vous pouvez également proposer votre session par courriel à sessions@pycon.fr
Appel à sponsors
Pour financer l'événement, nous avons besoin de sponsors. Il existe deux niveaux de sponsors :
Contact
Si vous souhaitez en savoir plus sur l'événement ou proposer une animation, vous pouvez nous contacter directement : orga@pycon.fr.
Pour que PyCon France rencontre le même succès que les années précédentes, il faut trois ingrédients : des orateurs, des sponsors et un public :-)
Appel à orateurs
Vous souhaitez transmettre vos connaissances ou partager votre expérience ? Vous avez six possibilités :
- Lightning talk (10 mm) : Très courte présentation pour initier un sujet ;
- Retour d'expérience (25 mn) : Un REX (Retour d'EXpérience) présente l'utilisation de Python dans une organisation (entreprise, école, faculté...) ;
- Présentation (25 mn) : Format classique pour aborder un sujet sans rentrer "dans la technique" ;
- Tutorial (55 mn) : Pour aborder un sujet plus en profondeur techniquement, par exemple en présentant des lignes de code ;
- Atelier (1h55) : Un atelier permet à chaque participant de coder ;
- Sprint (1 journée) : Un sprint est une journée de développement autour d'un thème particulier.
Vous souhaitez faire une présentation pour l'édition 2010 ?
Enregistrez-vous puis proposez une session avant le 15 juillet 2010 à minuit. Pour cela, il vous suffit de cliquer le bouton "Soumettre une présentation" sur le menu de gauche. Ou bien, vous pouvez également proposer votre session par courriel à sessions@pycon.fr
Appel à sponsors
Pour financer l'événement, nous avons besoin de sponsors. Il existe deux niveaux de sponsors :
- Web & Mail
- Logo sur la page d'accueil du site web de PyCon France ;
- Présentation de dix lignes sur la page sponsors du site web ;
- logo sur le programme papier de la conférence ;
- Nom du sponsor mentionné dans la communication officielle d'événement.
- Logo sur la page d'accueil du site web de PyCon France ;
- Full
- Inclus la présence Web & Mail ;
- Possibilité de poser deux panneaux "corporate" dans la salle de conférence ;
- Possibilité de présenter l'entreprise pendant cinq minutes max en début de conférence (le samedi matin vers 10h) et en fin de conférence (le dimanche vers 17h30).
- Inclus la présence Web & Mail ;
Contact
Si vous souhaitez en savoir plus sur l'événement ou proposer une animation, vous pouvez nous contacter directement : orga@pycon.fr.
ITWS v1.0 pour réaliser vos sites web et plus...
Itaapy vient de sortir sa première version importante de itws : un logiciel permettant de réaliser simplement un site web ou un extranet.
Itws est le fruit des projets clients réalisés par Itaapy aussi bien pour des sites vitrines que des sites marchands, des sites dédiés à des projets particuliers ou des sites avec des fonctionnalités spécifiques.
L'idée est d'avoir une prise en main facile avec les fonctionnalités permettant de faire un site vivant : flux RSS, boîtes latérales, nuage de tags, actualité, bannières, sections composites, etc... le tout avec un référencement naturel fort.
Itws est basé sur iKaaro, un Système de gestion de contenu complet avec gestion de fichiers, recherche plein texte (fichiers binaires compris), agenda, gestion des pages multilingues, tracker, etc...
Les principales caractéristiques techniques du CMS sont :
Itws est le fruit des projets clients réalisés par Itaapy aussi bien pour des sites vitrines que des sites marchands, des sites dédiés à des projets particuliers ou des sites avec des fonctionnalités spécifiques.
L'idée est d'avoir une prise en main facile avec les fonctionnalités permettant de faire un site vivant : flux RSS, boîtes latérales, nuage de tags, actualité, bannières, sections composites, etc... le tout avec un référencement naturel fort.
Itws est basé sur iKaaro, un Système de gestion de contenu complet avec gestion de fichiers, recherche plein texte (fichiers binaires compris), agenda, gestion des pages multilingues, tracker, etc...
Les principales caractéristiques techniques du CMS sont :
Gérez vos projets avec Trac
Trac est un outil de gestion de projets écrit en Python et distribué sous licence BSD. Il combine un wiki, un outil de suivi de demandes et un explorateur SVN (ou d'autres SCM).
C'est donc un projet similaire à InDefero, Retrospectiva ou Redmine. Trac est moins avancé que ces outils pour l'aspect multi-projets, mais ses nombreux greffons lui permettent de rester en tête en nombre de fonctionnalités.
La version 0.12 est sortie récemment et apporte de nombreuses améliorations. Parmi celles-ci, citons les plus importantes :
C'est donc un projet similaire à InDefero, Retrospectiva ou Redmine. Trac est moins avancé que ces outils pour l'aspect multi-projets, mais ses nombreux greffons lui permettent de rester en tête en nombre de fonctionnalités.
La version 0.12 est sortie récemment et apporte de nombreuses améliorations. Parmi celles-ci, citons les plus importantes :
- Prise en charge de l'internationalisation avec Babel ;
- Gestion de plusieurs dépôts par instance ;
- Syntaxe wiki plus souple, plus intuitive, et plus proche de Wiki Creole ;
- Amélioration de l'interface de gestion des tickets et commentaires ;
- Ajouts de fonctionnalités au wiki : renommer de pages, Universal Edit Button, prévisualisation automatique, etc.
Nagstamon 0.9.3
Fatigué de surveiller votre interface Nagios à travers votre navigateur web ? Vous êtes à la recherche d'une solution plus flexible ? Nagstamon est un programme qui se connecte à votre serveur Nagios ou Opsview et vous tient informé des différents événements survenant sur votre parc.
Nagstamon loge dans votre barre des tâches et vous affiche un bref résumé de la situation de vos machines. Pour obtenir un statut complet, il suffit de cliquer sur l'icône pour afficher une fenêtre récapitulative.
Il est dès à présent disponible, par exemple sous Debian Squeeze (version de test) et Sid (version instable).
Les captures d'écrans sont disponibles dans les liens de la dépêche.
Nagstamon loge dans votre barre des tâches et vous affiche un bref résumé de la situation de vos machines. Pour obtenir un statut complet, il suffit de cliquer sur l'icône pour afficher une fenêtre récapitulative.
Il est dès à présent disponible, par exemple sous Debian Squeeze (version de test) et Sid (version instable).
Les captures d'écrans sont disponibles dans les liens de la dépêche.
Shinken, la refonte de Nagios en Python, sort en version 0.1
Le petit monde de la supervision open source est très animé ces derniers temps. Nagios reste la référence dans le domaine, mais de nombreux autres projets cherchent à le détrôner.
Un de ses concurrents est d'un type un peu particulier : c'est une réécriture complète du champion en Python ! Il se nomme Shinken et sa première version vient tout juste de sortir.
Pour ceux qui s'interrogent sur l'architecture du programme, elle est présentée sur le site de la communauté francophone de la supervision open source , ainsi que bien sûr sur le site du projet officiel. Elle fera également partie d'une conférence aux RMLL, raison de plus de venir sur Bordeaux début juillet.
Les auteurs attendent avec impatience les retours des tests de cette première vraie version et invitent tous ceux qui le souhaitent à participer à ce projet.
NdM : Jean Gabes avait commencé par présenter la version 0.1 de Shinken dans un journal avant cette dépêche.
Un de ses concurrents est d'un type un peu particulier : c'est une réécriture complète du champion en Python ! Il se nomme Shinken et sa première version vient tout juste de sortir.
Pour ceux qui s'interrogent sur l'architecture du programme, elle est présentée sur le site de la communauté francophone de la supervision open source , ainsi que bien sûr sur le site du projet officiel. Elle fera également partie d'une conférence aux RMLL, raison de plus de venir sur Bordeaux début juillet.
Les auteurs attendent avec impatience les retours des tests de cette première vraie version et invitent tous ceux qui le souhaitent à participer à ce projet.
NdM : Jean Gabes avait commencé par présenter la version 0.1 de Shinken dans un journal avant cette dépêche.
En vrac, spécial Python
Pylons est un framework de développement web en Python, dont la version 1.0 vient de sortir (sous licence BSD). Là où Django se positionne comme un framework avec des composants fortement intégrés entre eux, Pylons privilégie un couplage lâche et la réutilisation des bibliothèques Python existantes. Par exemple, pour le templating, Pylons vous laisse le choix entre Mako, Genshi, Jinja2 ou ce que vous voulez. Pylons est utilisé par des sites à fort trafic comme Reddit ou Bittorent.
SQL Alchemy est à la fois une boîte à outils pour manipuler du SQL en Python et un ORM (sous licence MIT). Vous pouvez par exemple l'utiliser pour la partie Modèles d'une application Pylons. La version 0.6 est compatible avec Python 2.4+, Python 3 et Jython.
Fabric est un outil de déploiement et d'administration à distance (sous licence BSD) que l'on pourrait comparer à Capistrano dans le monde Ruby. Son utilisation se fait en deux temps : on commence par écrire un fabfile qui décrit des tâches en utilisant les modules Python fournis par Fabric, puis on peut exécuter ses tâches sur une ou plusieurs machines distantes via l'outil en ligne de commande fab.
Green Unicorn, ou gunicorn, est un serveur HTTP qui respecte l'interface WSGI (sous licence MIT). Son modèle pre-fork s'inspire du projet Ruby Unicorn et permet de faire tourner des applications dans les principaux frameworks Python (Pylons, Turbogears 2, Django). Le développement de gunicorn a commencé à la fin de l'année dernière, mais il avance vite : il en est déjà à la version 0.9.1.
Plone va participer pour la 5ème fois au Google Summer of Code. Quatre projets ont commencé :
SQL Alchemy est à la fois une boîte à outils pour manipuler du SQL en Python et un ORM (sous licence MIT). Vous pouvez par exemple l'utiliser pour la partie Modèles d'une application Pylons. La version 0.6 est compatible avec Python 2.4+, Python 3 et Jython.
Fabric est un outil de déploiement et d'administration à distance (sous licence BSD) que l'on pourrait comparer à Capistrano dans le monde Ruby. Son utilisation se fait en deux temps : on commence par écrire un fabfile qui décrit des tâches en utilisant les modules Python fournis par Fabric, puis on peut exécuter ses tâches sur une ou plusieurs machines distantes via l'outil en ligne de commande fab.
Green Unicorn, ou gunicorn, est un serveur HTTP qui respecte l'interface WSGI (sous licence MIT). Son modèle pre-fork s'inspire du projet Ruby Unicorn et permet de faire tourner des applications dans les principaux frameworks Python (Pylons, Turbogears 2, Django). Le développement de gunicorn a commencé à la fin de l'année dernière, mais il avance vite : il en est déjà à la version 0.9.1.
Plone va participer pour la 5ème fois au Google Summer of Code. Quatre projets ont commencé :
Sortie de Django 1.2
Lundi soir est sortie la version 1.2 du framework web Django, écrit en Python. 11 mois après la 1.1, et presque 2 ans après la version 1.0.
Ce framework, basé sur un concept Modèle-Vue-Contrôleur (MVC), est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment), ce qui en fait la plate-forme de développement web idéale pour les perfectionnistes sous pression.
De plus en plus de sites utilisent Django (comme par exemple Bitbucket.org) pour sa flexibilité et pour le nombre d'applications Django réutilisables, qui ne cesse de croître.
Je vous propose de découvrir les quelques nouveautés que vous offrent les développeurs Django et toute la communauté.
Ce framework, basé sur un concept Modèle-Vue-Contrôleur (MVC), est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment), ce qui en fait la plate-forme de développement web idéale pour les perfectionnistes sous pression.
De plus en plus de sites utilisent Django (comme par exemple Bitbucket.org) pour sa flexibilité et pour le nombre d'applications Django réutilisables, qui ne cesse de croître.
Je vous propose de découvrir les quelques nouveautés que vous offrent les développeurs Django et toute la communauté.
Actualités Python : PyPy 1.2, distutils2, vidéos de Pycon 2010, Python 2.7
Quelques brèves au sujet du langage Python :
Détails en seconde partie de la dépêche.
- PyPy 1.2 inclut enfin un compilateur à la volée
- Inclusion d'Unladen Swallow dans CPython repoussée
- distutils, setuptools, distribute et distutils2
- Python 2.6.5RC2, 3.1.2RC1 et 2.7alpha3
- Vidéos des conférences Pycon US 2010
- Revues de presse hebdomadaire de l'AFPy
- AFPyros sur Paris
Détails en seconde partie de la dépêche.
CirruxCache : réduire la bande passante et augmenter la connectivité
CirruxCache est une solution de Content Delivery Network (CDN) développée en Python sur Google App Engine et distribuée sous licence GPL. Pour expliquer simplement, un CDN est un système de cache HTTP distribué permettant, d'une part, de réduire l'utilisation de la bande passante à l'origine (votre serveur) et, d'autre part, de permettre de localiser géographiquement le contenu de manière à optimiser le chargement des pages pour l'utilisateur final. Ceci peut s'appliquer, bien sûr, à un site web, mais plus généralement à toute application utilisant le protocole HTTP (WebServices par exemple).
CirruxCache permet d'utiliser la plate-forme Google App Engine comme un CDN. Ce projet est né de l'idée de réduire les coûts d'utilisation de la bande passante chez un fournisseur CDN professionnel. Les coûts d'utilisation d'App Engine n'étant pas excessifs. Cependant, un compte App Engine gratuit suffit amplement à une utilisation pour un blog personnel (sauf si vous vous appelez Korben ;-).
CirruxCache est utilisé en production notamment par la société Zoomorama.
CirruxCache permet d'utiliser la plate-forme Google App Engine comme un CDN. Ce projet est né de l'idée de réduire les coûts d'utilisation de la bande passante chez un fournisseur CDN professionnel. Les coûts d'utilisation d'App Engine n'étant pas excessifs. Cependant, un compte App Engine gratuit suffit amplement à une utilisation pour un blog personnel (sauf si vous vous appelez Korben ;-).
CirruxCache est utilisé en production notamment par la société Zoomorama.
Domptage de serpents pour les enfants, apprendre à programmer en Python
Le livre « Snake Wrangling for Kids » dorénavant sous licence libre Creative Commons 3.0 BY-SA a été traduit en français dans sa version pour Windows.
Vous pouvez offrir ce livre pour Noël, aux enfants que vous connaissez ! Même si la version française actuelle est prévue pour Windows, elle reste en grande partie utilisable sous d'autres systèmes d'exploitation.
Le document au format PDF et le code source du livre sont téléchargeables sur le site google-code du livre.
Vous pouvez offrir ce livre pour Noël, aux enfants que vous connaissez ! Même si la version française actuelle est prévue pour Windows, elle reste en grande partie utilisable sous d'autres systèmes d'exploitation.
Le document au format PDF et le code source du livre sont téléchargeables sur le site google-code du livre.
La gestion des bénévoles facilitée avec OpenVolunteer (v0.2)
Dix mois après la première version, OpenVolunteer vient de sortir en version 0.2. Pour rappel, Openvolunteer est une application web dédiée à la gestion des bénévoles dans le cadre de l'organisation d'évènements. L'application écrite en Python est basée sur le framework Django (version >= 1.0) et distribuée sous la licence GPL v3.
OpenVolunteer permet de mettre facilement en relation les disponibilités de bénévoles avec un évènement et de gérer les "postes" de chacun. Ces postes pouvant être associés à un "besoin" spécifique qui se complète au fur et à mesure que des bénévoles sont trouvés pour s'en occuper.
Par exemple, si il faut trois personnes à l'accueil pour l'évènement X et que deux personnes sont déjà trouvées, un récapitulatif permet de rapidement savoir si le besoin est complété ou non (en l'occurrence non, puisqu'il faut encore trouver un bénévole pour ce poste).
Pour la petite histoire, je m'étais lancé dans l'écriture de ce logiciel pour faciliter le travail des responsables bénévoles d'un festival dans lequel je m'investis (Roc'Han Feu parce qu'un peu de pub ne fait pas de mal). À présent, dans ce cadre d'utilisation, il gère plusieurs centaines de bénévoles par évènements successifs et cette utilisation massive permet de remonter bon nombre des anomalies qui peuvent exister ou des nouveaux besoins fonctionnels.
OpenVolunteer permet de mettre facilement en relation les disponibilités de bénévoles avec un évènement et de gérer les "postes" de chacun. Ces postes pouvant être associés à un "besoin" spécifique qui se complète au fur et à mesure que des bénévoles sont trouvés pour s'en occuper.
Par exemple, si il faut trois personnes à l'accueil pour l'évènement X et que deux personnes sont déjà trouvées, un récapitulatif permet de rapidement savoir si le besoin est complété ou non (en l'occurrence non, puisqu'il faut encore trouver un bénévole pour ce poste).
Pour la petite histoire, je m'étais lancé dans l'écriture de ce logiciel pour faciliter le travail des responsables bénévoles d'un festival dans lequel je m'investis (Roc'Han Feu parce qu'un peu de pub ne fait pas de mal). À présent, dans ce cadre d'utilisation, il gère plusieurs centaines de bénévoles par évènements successifs et cette utilisation massive permet de remonter bon nombre des anomalies qui peuvent exister ou des nouveaux besoins fonctionnels.
Python 2.6 : nouvelle version de maintenance
C'est en effet la quatrième version de maintenance de la branche 2.6 de Python qui a été publiée ce week-end après un cycle de développement particulièrement court (23 jours écoulés depuis la publication de la version 2.6.3 le 2 octobre 2009).
Celle-ci n'apporte pas de nouvelle fonctionnalité, mais corrige plusieurs bugs jugés critiques par l'équipe de développeurs. Pour l'essentiel, il s'agit de corrections apportées à la bibliothèque standard de Python. On remarquera en particulier la réparation de la régression introduite à la version 2.6.3 dans le module distutils qui empêchait l'installation de modules tiers à l'aide de l'outil setuptools.
On retrouve aussi une correction au module intégré ("Builtin") marshal. Pour mémoire, ce module assure la sérialisation (et la dé-sérialisation) de valeurs Python au format binaire, son usage est réservé à des situations très particulières, les modules pickle et shelves étant bien plus efficaces et adaptés pour la persistance de données.
C'est donc à une nouvelle version utile - bien que sans surprise - à laquelle nous avons affaire. La mise à jour est évidement recommandée, ne serait-ce que pour pouvoir à nouveau exploiter pleinement le Python Packages Index.
NdM : Merci à tcoubon pour son journal à l'origine de cette dépêche.
Celle-ci n'apporte pas de nouvelle fonctionnalité, mais corrige plusieurs bugs jugés critiques par l'équipe de développeurs. Pour l'essentiel, il s'agit de corrections apportées à la bibliothèque standard de Python. On remarquera en particulier la réparation de la régression introduite à la version 2.6.3 dans le module distutils qui empêchait l'installation de modules tiers à l'aide de l'outil setuptools.
On retrouve aussi une correction au module intégré ("Builtin") marshal. Pour mémoire, ce module assure la sérialisation (et la dé-sérialisation) de valeurs Python au format binaire, son usage est réservé à des situations très particulières, les modules pickle et shelves étant bien plus efficaces et adaptés pour la persistance de données.
C'est donc à une nouvelle version utile - bien que sans surprise - à laquelle nous avons affaire. La mise à jour est évidement recommandée, ne serait-ce que pour pouvoir à nouveau exploiter pleinement le Python Packages Index.
NdM : Merci à tcoubon pour son journal à l'origine de cette dépêche.
Publication de Unladen Swallow 2009Q3
C'est avec discrétion que le projet Unladen Swallow - dont le but est d'accélérer Python en s'appuyant sur LLVM et son compilateur JIT - a sorti la version 2009Q3, environ 3 mois après la version 2009Q2
Dans cette nouvelle version, les choses qui font plaisir :
Les choses qui font moins plaisir :
Dans cette nouvelle version, les choses qui font plaisir :
- Par rapport à la version Q2, gain en utilisation mémoire de 930% ;
- Gain de performance par rapport à la version 2009Q2 entre 15 et 70% suivant les benchmarks ;
- Intégration avec GDB 7.0 permettant de débugger le code passé par le compilateur JIT ;
- Intégration avec OProfile 0.9.4 afin de fournir une interface de profilage sans difficulté qui couvre le C et le Python ;
- Beaucoup de bugs et de restrictions du compilateur JIT de LLVM ont été corrigés au passage ;
- Unladen Swallow 2009Q3 passe toutes les suites de test de projets Python majeurs tel que Twisted, Django, Numpy ou Swing (cf la liste de tests pour la liste complète des suites de test).
Les choses qui font moins plaisir :
- Le compilateur JIT de LLVM et d'autres outils ont demandé plus de travail qu'imaginé au départ. En conséquence, le projet n'a pas progressé autant en performance que les auteurs l'auraient voulu ;
- L'utilisation mémoire reste entre deux et trois fois supérieure à celle de Python 2.6.1. Cependant, il y a des pistes intéressantes pour réduire cela d'ici la version 2009Q4 .
Le livre libre "A byte of Python" a été traduit en français.
Le livre de Swaroop C H, "A byte of Python", a été traduit en français. Ce livre peut être vu comme une introduction au langage Python, à lire avant « Plongez au coeur de Python ».
Le public visé est le programmeur débutant ou le programmeur expérimenté qui ne connaît pas Python.
Je voudrais remercier les contributeurs anonymes (parisiens, rémois, toulousains, et j'en oublie sans doute), qui ont corrigé et amélioré la traduction.
Le code a été francisé en grande partie, donc affiche des accents et des lettres accentuées.
Le livre est distribué sous licence "Creative Commons Attribution-Share Alike 3.0 Unported" (CC BY-SA).
Le public visé est le programmeur débutant ou le programmeur expérimenté qui ne connaît pas Python.
Je voudrais remercier les contributeurs anonymes (parisiens, rémois, toulousains, et j'en oublie sans doute), qui ont corrigé et amélioré la traduction.
Le code a été francisé en grande partie, donc affiche des accents et des lettres accentuées.
Le livre est distribué sous licence "Creative Commons Attribution-Share Alike 3.0 Unported" (CC BY-SA).
Proposition de moratoire de plusieurs années sur le coeur du langage Python
Guido Van Rossum a proposé hier un moratoire de plusieurs années sur le cœur du langage Python. Si cette proposition est retenue, alors aucun changement dans la grammaire et la sémantique du langage ne sera accepté durant cette période. La bibliothèque standard n'est donc pas concernée.
Guido Van Rossum donne comme raison pour ce moratoire les difficultés d'implémentation des versions alternatives de Python. CPython étant l'implémentation la plus répandue (standard de facto) et installée sur la plupart des distributions GNU/Linux actuelles, GvR parle de Jython, IronPython, PyPy et d'autres.
Le créateur du langage Python pense également que ce moratoire permettrait à Python 3.x de se diffuser plus largement qu'il ne l'est à l'heure actuelle.
Il est vrai que la transition de Python 2.x vers 3.x a été une source de perturbations importantes, 3.x cassant en effet la compatibilité avec la branche 2.x et 3.x est loin d'être aussi utilisée que la 2.x.
Debian ne travaille en ce moment qu'à la mise en place de Python 2.6 en tant que version par défaut de leurs systèmes. Cette proposition de Guido Van Rossum sera, si elle est acceptée, lourde de conséquences (bonnes ou mauvaises, l'avenir le dira) sur l'avenir du serpent le plus inventif qu'ait apprivoisé la communauté du libre depuis son commencement.
Guido Van Rossum donne comme raison pour ce moratoire les difficultés d'implémentation des versions alternatives de Python. CPython étant l'implémentation la plus répandue (standard de facto) et installée sur la plupart des distributions GNU/Linux actuelles, GvR parle de Jython, IronPython, PyPy et d'autres.
Le créateur du langage Python pense également que ce moratoire permettrait à Python 3.x de se diffuser plus largement qu'il ne l'est à l'heure actuelle.
Il est vrai que la transition de Python 2.x vers 3.x a été une source de perturbations importantes, 3.x cassant en effet la compatibilité avec la branche 2.x et 3.x est loin d'être aussi utilisée que la 2.x.
Debian ne travaille en ce moment qu'à la mise en place de Python 2.6 en tant que version par défaut de leurs systèmes. Cette proposition de Guido Van Rossum sera, si elle est acceptée, lourde de conséquences (bonnes ou mauvaises, l'avenir le dira) sur l'avenir du serpent le plus inventif qu'ait apprivoisé la communauté du libre depuis son commencement.
Turbogears 1.1 le même mais en mieux.
L'équipe de TurboGears a annoncé le 4 octobre la sortie du très attendu TurboGears 1.1, soit deux semaines après la première Release Candidate.
Pour ceux qui ne connaissent pas encore TurboGears (affectueusement surnommé TG), c'est un framework web en Python (encore un n-ième clone de RoR diront les rubyistes en levant les yeux au ciel).
TurboGears est basé sur le patron de conception MVC et le serveur d'application cherryPy, propose un ORM, un moteur de template et un framework JavaScript (MochiKit) facilitant le développement d'application "web 2.0".
Pour ceux qui ne connaissent pas encore TurboGears (affectueusement surnommé TG), c'est un framework web en Python (encore un n-ième clone de RoR diront les rubyistes en levant les yeux au ciel).
TurboGears est basé sur le patron de conception MVC et le serveur d'application cherryPy, propose un ORM, un moteur de template et un framework JavaScript (MochiKit) facilitant le développement d'application "web 2.0".
PySide : python et Qt par Nokia
Du nouveau dans le monde Qt/Python : Nokia vient de publier un nouveau binding, PySide, permettant d'utiliser sa fameuse boîte à outils Qt (base de KDE, multi-plateforme) avec le non moins populaire langage Python. Ce rapprochement n'est pas nouveau puisqu'il existait déjà un produit, PyQt, permettant cette approche. L'initiative de Nokia s'explique du fait du modèle de licence de PyQt vis-à-vis de Qt.
En effet, alors que Qt est, depuis récemment, disponible sous trois licences différentes (GPLv3, LGPLv2.1 et commerciale), PyQt est resté sur le modèle GPL + commercial. Riverbank Computing, l'entreprise développant PyQt, n'ayant probablement pas les reins suffisamment solides (Riverbank Computing vivant de la vente de licence de PyQt, au contraire de Nokia) pour passer PyQt en LGPL. Rappelons rapidement que la licence LGPL permet d'utiliser le code mis à disposition dans un programme dont la licence diffère. Pour caricaturer, on peut faire du propriétaire avec du libre sans payer. D'où donc les réticences de Riverbank Computing, même après discussion avec Nokia.
Nokia, pour sa part, voit dans cette approche un possible frein au développement d'application Qt en python, et cherche à promouvoir ce domaine en recréant un binding en LGPL, dans le même esprit que le passage à la licence LGPLv2.1 permettant une plus grande possibilité d'adoption de Qt. Notons que ce changement de licence, et la création de PySide, interviennent dans un contexte de changement plus profond chez Nokia, qui cherche à faire converger Maemo, système d'exploitation pour tablettes graphiques, et Qt en remplacement de Gtk+.
PySide et PyQt, bien que compatibles au niveau API (pour le moment), possèdent néanmoins quelques différences : PyQt est une solution éprouvée, qui fonctionne indifféremment sous Linux/Unix, Windows et Mac OS X. PySide, de son coté, reste très jeune et ne fonctionne pour le moment que sous X11 (Linux/Unix donc) et n'offre donc pas pour le moment la qualité et le service fourni par Phil Thompson, le créateur de PyQt.
Nokia espère qu'une communauté ouverte se créera autour de son projet. Espérons que cette nouvelle mouture entraîne une saine compétition entre PySide et PyQt, et non pas la mort de l'un et/ou de l'autre.
En effet, alors que Qt est, depuis récemment, disponible sous trois licences différentes (GPLv3, LGPLv2.1 et commerciale), PyQt est resté sur le modèle GPL + commercial. Riverbank Computing, l'entreprise développant PyQt, n'ayant probablement pas les reins suffisamment solides (Riverbank Computing vivant de la vente de licence de PyQt, au contraire de Nokia) pour passer PyQt en LGPL. Rappelons rapidement que la licence LGPL permet d'utiliser le code mis à disposition dans un programme dont la licence diffère. Pour caricaturer, on peut faire du propriétaire avec du libre sans payer. D'où donc les réticences de Riverbank Computing, même après discussion avec Nokia.
Nokia, pour sa part, voit dans cette approche un possible frein au développement d'application Qt en python, et cherche à promouvoir ce domaine en recréant un binding en LGPL, dans le même esprit que le passage à la licence LGPLv2.1 permettant une plus grande possibilité d'adoption de Qt. Notons que ce changement de licence, et la création de PySide, interviennent dans un contexte de changement plus profond chez Nokia, qui cherche à faire converger Maemo, système d'exploitation pour tablettes graphiques, et Qt en remplacement de Gtk+.
PySide et PyQt, bien que compatibles au niveau API (pour le moment), possèdent néanmoins quelques différences : PyQt est une solution éprouvée, qui fonctionne indifféremment sous Linux/Unix, Windows et Mac OS X. PySide, de son coté, reste très jeune et ne fonctionne pour le moment que sous X11 (Linux/Unix donc) et n'offre donc pas pour le moment la qualité et le service fourni par Phil Thompson, le créateur de PyQt.
Nokia espère qu'une communauté ouverte se créera autour de son projet. Espérons que cette nouvelle mouture entraîne une saine compétition entre PySide et PyQt, et non pas la mort de l'un et/ou de l'autre.
La fondation Plone sort la version 3.3 et met à jour son site
Après 5 versions candidates la fondation Plone valide enfin la nouvelle mouture tant attendue du système de gestion de contenu Plone. Cette version était prévue pour sortir en avril, mais une série de bugs critiques lors de la dernière phase de validation a obligé à repousser sans cesse la date de sortie.
La fondation en a aussi profité pour revoir le look du site http://plone.org en utilisant les dernière technologie utilisée dans Plone 3.
La plateforme continue de se diversifier :
La fondation en a aussi profité pour revoir le look du site http://plone.org en utilisant les dernière technologie utilisée dans Plone 3.
La plateforme continue de se diversifier :
- ArchGenXML pour générer le code à partir de diagrammes UML
- Plone4Artists/ pour les artistes qui veulent gérer eux-mêmes leur communauté
- Communes Plone qui regroupe plusieurs communes belges qui souhaitent mutualiser le développement de leur système d'information.
- PloneGov pour l'administration - grand prix du jury aux Lutèce 2007
Sortie de Django 1.1
Ce matin est sortie la version 1.1 du framework web Django écrit en Python. Onze mois après la 1.0, de très bonnes nouvelles se retrouvent dans les notes de version de cette nouvelle mouture.
Ce Framework , basé sur un concept MVC, est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment). Ce qui en fait alors la plate-forme de développement Web idéale pour les perfectionnistes sous pression.
Je vous propose donc de découvrir les quelques nouveautés que vous offrent les développeurs Django.
Ce Framework , basé sur un concept MVC, est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment). Ce qui en fait alors la plate-forme de développement Web idéale pour les perfectionnistes sous pression.
Je vous propose donc de découvrir les quelques nouveautés que vous offrent les développeurs Django.